package com.tedu.api.d2_string;

/**
 * 本类用于测试字符串拼接的效率
 */
public class Test3_StringBuffer {
    public static void main(String[] args) {
        //method1();//通过+进行拼接
        method2();//通过append();拼接
    }

    public static  void method2() {
        String s="abcdefghijklmnopqrstuvwxyz";
        //保存结果
        /* 优化1，String-->StringBuffer/StringBuilder*/
        StringBuffer sb=new StringBuffer();
        StringBuilder sb2=new StringBuilder();

        long t1=System.currentTimeMillis();//获取当前时间
        //拼接10000次
        for (int i = 0; i <10000; i++) {
            //优化
            //sb.append(s);//2~5ms
            sb2.append(s);//3~5ms
        }
        long t2=System.currentTimeMillis();//获取当前时间
        //打印效果

        System.out.println(sb.toString());
        //打拼拼接花费的时间
        System.out.println(t2-t1);//

    }

    public static void method1() {
        //定义拼接的字符串
        String s="abcdefghijklmnopqrstuvwxyz";
        //保存结果
        String result="";
        long t1=System.currentTimeMillis();//获取当前时间
        //拼接10000次
        for (int i = 0; i <10000; i++) {
            result=result+s;//2583ms
        }
        long t2=System.currentTimeMillis();//获取当前时间
        //打印效果

        System.out.println(result);
        //打拼拼接花费的时间
        System.out.println(t2-t1);//2583ms
    }
}
